nginx跨域解决方法

来源:07素材网 09月16日 20:53

最近一直遇到以下几个问题:

1、JavaScript JS 跨域问题

2、HTTP 错误 405 - 用于访问该页的 HTTP 动作未被许可 HTTP 错误 405.0 - Method Not Allowed

3、Nginx 处理跨域问题、OPTIONS 方法的问题

Method = "OPTIONS" | "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "TRACE" | "CONNECT" | extension-method
extension-method = token

nginx跨域解决方法

在Nginx location 里加上如下代码可以解决跨域问题,包括以上几个问题都可以得到解决。

具体如下:

在Nginx配置文件nginx.conf加入如下代码:

location / {

        # 跨域设置
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Credentials' 'true'; 
       
        if ( $request_method = 'OPTIONS' ) { return 200; }

 }

注意1:

必须放在 location ... { ... }里面才能用if条件判断。

注意2:

如果你遇到错误提示“nginx: [emerg] unknown directive”未知指令。

原因是: if 后面 必须有空格跟括号隔开才行。

解决方法如下:

 if ( $request_method = 'OPTIONS' ) { return 200; }
原文出处:https://www.fujieace.com/nginx/request_method-options.html
版权声明:本文来源地址若非本站均为转载,若侵害到您的权利,请及时联系我们,我们会在第一时间进行处理。

今日推荐

站长推广时的10大绝招:一篇美文引发的深思
白帽、黑帽、灰帽SEO之间的关系
开源软件为何会成为“兵家必争之地”?
现在SEO网站排名如何重新规划和设计?
http有哪些特点
企业做网站的目的仅仅是产品展示吗?
分享一些电脑键盘功能基础知识
网站开发公司如何精准的了解客户的需求呢?